package com.qqt.csr.im.assembler;

import com.qqt.csr.im.entity.Account;
import com.qqt.csr.im.entity.Connection;
import com.qqt.csr.im.enums.ConnectStateEnum;
import com.qqt.csr.im.utils.ServiceHelper;

import java.util.Date;

/**
 * @Author: yang hao
 * @Date: 2024/10/15 14:42
 * @Description: 长连接装配器
 **/
public class ConnectionAssembler {

    /**
     * 构建长连接信息
     * @param deviceFlag {@link String} 设备标识
     * @param deviceType {@link Integer} 设备类型
     * @return {@link Connection} 长连接信息
     */
    public static Connection build(String deviceFlag, Integer deviceType, Long accountId) {
        return Connection.builder()
                .serviceId(ServiceHelper.INSTANCE.getServiceNode().getId())
                .accountId(accountId)
                // .userFlag(userFlag)
                .deviceFlag(deviceFlag)
                .deviceType(deviceType)
                .state(ConnectStateEnum.CONNECT.getCode())
                .connectionTime(new Date())
                .createTime(new Date())
                .updateTime(new Date())
                .build();
    }

}
